/*
 * Material.h
 *
 *  Created on: May 27, 2011
 *      Author: Ernest Mashele <mashern@gmail.com>
 */

#ifndef MATERIAL_H_
#define MATERIAL_H_
#pragma once

#include <D3DX10math.h>

class Material
{
public:
	Material();
	virtual ~Material();

	FLOAT getAlpha() const;
	D3DXVECTOR4 getAmbientColour() const;
	D3DXVECTOR4 getDiffuseColour() const;
	D3DXVECTOR4 getSpecularColour() const;
	FLOAT getSpecularPower() const;
	void getDiffuseMap(WCHAR* diffuseMap) const;
	void setAlpha(FLOAT alpha);
	void setAmbientColour(D3DXVECTOR4 ambientColour);
	void setDiffuseColour(D3DXVECTOR4 diffuseColour);
	void setDiffuseMap(WCHAR *diffuseMap);
	void setSpecularColour(D3DXVECTOR4 specularColour);
	void setSpecularPower(FLOAT specularPower);

private:
	D3DXVECTOR4 ambientColour;
	D3DXVECTOR4 specularColour;
	D3DXVECTOR4 diffuseColour;
	FLOAT specularPower;
	FLOAT alpha;
	WCHAR diffuseMap[MAX_PATH];
};

#endif /* MATERIAL_H_ */
